package net.lab1024.sa.admin.module.business.category.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("operation_log")
public class OperationLog {
    @TableId(type = IdType.AUTO)
    private Long id;

    private String operatorName;  // 操作人姓名
    private String operatorCode;    // 学工号
    private String operatorPhone; // 手机号
    @TableField("class") // 指定数据库字段名（避免关键字冲突）
    private String className;

    private String module;        // 操作模块
    private String operation;     // 操作内容
    private String result;        // 操作结果

    private String method;        // 执行方法
    private String params;        // 请求参数

    private String ip;            // 操作IP
    private String location;      // 操作地点

    private Long executeTime;     // 执行时间(ms)

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime; // 操作时间

    // 明细列表（非数据库字段）
    @TableField(exist = false)
    private String errorMsg;      // 错误信息（记录异常信息）
    // 明细列表（非数据库字段）
    @TableField(exist = false)
    private String resultData;    // 操作结果数据（JSON字符串）
}